﻿using System;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Application.Dtos;
using Volo.Abp.MultiTenancy;

namespace Himp.DataHub
{
    public class DrugCatalogDto : FullAuditedEntityDto<Guid>
    {
        /// <summary>
        /// 药品目录类别
        /// </summary>
        public Guid DrugCatalogTypeId { get; set; }

        /// <summary>
        /// 药品类别
        /// </summary>
        public DrugCatalogTypeDto DrugCatalogType { get; set; }

        ///// <summary>
        ///// 默认收费项目类别
        ///// </summary>
        //public Guid DefChrgitmTypeId { get; set; }

        /// <summary>
        /// 药理类别
        /// </summary>
        public string PhamTypeCodg { get; set; }

        /// <summary>
        /// 药理类别
        /// </summary>
        public string PhamTypeName { get; set; }

        /// <summary>
        /// 药品代码
        /// </summary>
        public string DrugCode { get; set; }

        /// <summary>
        /// 药品名称
        /// </summary>
        public string DrugName { get; set; }

        /// <summary>
        /// 药品通用名
        /// </summary>
        public string DrugGenname { get; set; }

        /// <summary>
        /// 别名
        /// </summary>
        public string? Alis { get; set; }

        /// <summary>
        /// 拼音助记码
        /// </summary>
        public string? Pinyincode { get; set; }

        /// <summary>
        /// 五笔助记码
        /// </summary>
        public string? Wubicode { get; set; }

        /// <summary>
        /// 剂型编码
        /// </summary>
        public string DrugDosformCodg { get; set; }

        /// <summary>
        /// 剂型名称
        /// </summary>
        public string DrugDosformName { get; set; }

        /// <summary>
        /// 用法/药物使用-途径代码
        /// </summary>
        public string DrugMedcWayCodg { get; set; }

        /// <summary>
        /// 用法/药物使用-途径代码
        /// </summary>
        public string DrugMedcWayName { get; set; }

        /// <summary>
        /// 频次/使用频次（used_frqu）
        /// </summary>
        public string DrugUsedFrquCodg { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string DrugUsedFrquName { get; set; }

        #region todo 药品属性 迁移到扩展属性

        /// <summary>
        /// 贵重标志
        /// </summary>
        public bool ValuableFlag { get; set; }

        /// <summary>
        /// 毒药标志
        /// </summary>
        public bool PoisonFlag { get; set; }

        /// <summary>
        /// 麻醉药标识
        /// </summary>
        public bool EphedrineFlag { get; set; }

        /// <summary>
        /// 精一药标志
        /// </summary>
        public bool PsychotropicDrugs1Flag { get; set; }

        /// <summary>
        /// 精二药标志
        /// </summary>
        public bool PsychotropicDrugs2Flag { get; set; }

        /// <summary>
        /// 放射药标志
        /// </summary>
        public bool RadiopharmaceuticalsFlag { get; set; }

        /// <summary>
        /// 新药标志 ？
        /// </summary>
        public bool NewDrugFlag { get; set; }

        /// <summary>
        /// 审批标志 ?
        /// </summary>
        public bool AuditFlag { get; set; }

        /// <summary>
        /// 公示标志 ?
        /// </summary>
        public bool PublicityFlag { get; set; }

        /// <summary>
        /// 中药成分标志
        /// </summary>
        public bool ChineseHerbFlag { get; set; }

        /// <summary>
        /// 免煎标志
        /// </summary>
        public bool NonDecoctionFlag { get; set; }

        /// <summary>
        /// 药房使用标志
        /// </summary>
        public bool PharmacyUseFlag { get; set; }

        /// <summary>
        /// 大输液药品标志
        /// </summary>
        public bool LargeInfusionDrugsFlag { get; set; }

        /// <summary>
        /// 基本用药标志
        /// </summary>
        public bool BasicMedicationFlag { get; set; }

        /// <summary>
        /// 医保用药标志
        /// </summary>
        public bool MedicareMedicationFlag { get; set; }

        /// <summary>
        /// 自制药品标志
        /// </summary>
        public bool HomemadeDrugsFlag { get; set; }

        /// <summary>
        /// 皮试药品标志
        /// </summary>
        public bool SkinTestDrugFlag { get; set; }

        /// <summary>
        /// 门诊控制标志
        /// </summary>
        public bool OutpatientControlFlag { get; set; }

        /// <summary>
        /// 处方药标识
        /// </summary>
        public bool? PrescriptionDrugFlag { get; set; }

        #endregion

        /// <summary>
        /// 
        /// </summary>
        public bool ValiFlag { get; set; }
    }
}
